package main

import "fmt"

type Person struct {
	name string //名字
	sex  byte   //性别
	age  int    //年龄
}

type Student struct {
	Person // 只有类型，没有名字，匿名字段,继承了Persond 的成员
	id     int
	addr   string
	name   string //和Person 同名了
}

func main() {
	//声明（定义一个变量）
	var s Student

	//默认规矩（就近原则），如果能在本作用域找到此成员，就操作这成员，
	// 如果没有找到，找继承的字段
	s.name = "mike" //操作的是student 的name 还是 person 的 name?,结论为Student 的name
	s.sex = 'm'
	s.age = 18
	s.addr = "bj"

	//显式调用
	s.Person.name = "yoyo" // person 的 name

	fmt.Printf("s = %+v\n", s)

}
